The reference in this specification to any prior publication (or information derived from it), or to any matter which is known, is not, and should not be taken as an acknowledgment or admission or any form of suggestion that the prior publication (or information derived from it) or known matter forms part of the common general knowledge in the field of endeavour to which this specification relates.
Automated characterisers are adapted to review and automatically characterise content. This can include, for example, reviewing sequences of images, such as full motion video, to detect sequences of frames in which motion occurs. This may be used for example in recording the output of security cameras, or the like.
Generally such characterisers must be configured in order to characterise content according to a user's preferences. Currently there are three main techniques for performing such configuration.
In one technique a user adjusts the value of one or more characterisation parameters. Thus, in the case of motion characterisation, one commonly employed parameter is a sensitivity threshold, whereby a pixel in a video image is considered to be ‘in motion’ if its frame-by-frame variation exceeds the sensitivity threshold. Other parameters that can be used include an area-ratio threshold, whereby a frame is considered to be ‘in motion’ if the proportion of its pixels that are ‘in motion’ exceeds the specified area-ratio threshold, and a duration threshold, whereby a motion alert is triggered if the number of adjacent frames that are ‘in motion’ cover a period of time that exceeds the specified duration threshold.
However, allowing a user to adjust the value of motion characterisation parameters has a number of significant weaknesses. Firstly, the user cannot readily anticipate the effect of changing one of the parameter values. Consequently, the user must employ trial and error to configure the automatic motion characteriser, which is typically time consuming. Secondly, the achievable range of motion characterisation behaviours is limited, as a user is only capable of adjusting a small number of motion characterisation parameters. A third limitation of commonly employed schemes is that motion characterisation parameter values appropriate for a particular ambient lighting condition may not be appropriate if the ambient lighting conditions were to change. Consequently, the automatic motion characteriser may not be suitable for use outdoors, where the lighting conditions may change.
A second technique for configuring an automatic characteriser is to employ a form of unsupervised ‘machine learning’. Systems based on this methodology are configured without human intervention. A typical strategy is to build a statistical model for each pixel in a video image based on how the pixel changes over time. When applied to characterising motion in video, a pixel in a video image is considered to be ‘in motion’ if the pixel value falls outside the range of values predicted by the generated statistical model of the pixel. A motion alert is triggered if a frame has an unusually high number of pixels that are ‘in motion’.
The methodology for configuring an automatic motion characteriser with unsupervised machine learning has two significant weaknesses. Firstly, a user is unable to instil particular desired motion characterisation behaviour into the system. This may render systems based on this methodology unfit for use in certain operating environments. A second weakness of this methodology is that it typically requires significant computational resources, thereby making it unsuitable for use in embedded systems, or in the common setting where a single computer is required to simultaneously monitor a large number of cameras in real time.
A third technique is to employ supervised machine learning. In this example, a machine learning algorithm is trained on a set of examples that demonstrate desired motion characterisation behaviours. Thus, for example, the machine learning system is trained on examples of video that should be characterised as movement of interest. A user of such a system is responsible for selecting the training examples provided to the system, and for selecting the values of machine learning algorithm parameters.
However, configuring an automatic motion characteriser with supervised machine learning is difficult for a user who does not possess knowledge of the field machine learning, and may therefore be incapable of effectively training such a system. For example, a user without knowledge of the field of machine learning may not realise that the distribution of training examples can influence the likelihood that the desired motion characterisation behaviour is captured by the machine learning system. Such a user may therefore fail to prepare training data in a manner that will allow the machine learning process to operate effectively.
Furthermore, a user may attempt to establish a desired motion characterisation behaviour that the system is incapable of reproducing. In doing so the user might inadvertently remove a previously instilled desired motion characterisation behaviour. To identify and address such situations may require knowledge of the field of machine learning. A user who is skilled in the field of machine learning will generally be able to more effectively manage the training process than a user who does not possess knowledge of machine learning.
Accordingly, none of the existing techniques allow for easy configuration of automatic characterisers, such as motion characterisers. In particular such techniques are not generally capable of being configured to reproduce a useful subset of the motion characterisation behaviours desired by their users.